﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 备份mysql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private async void button1_Click(object sender, EventArgs e)
        {
            string ip = textBox1.Text;
            if (string.IsNullOrEmpty(ip))
            {  
              MessageBox.Show("填写ip");
                return;
            }

            string 数据库 = textBox2.Text;
            if (string.IsNullOrEmpty(数据库))
            {
                MessageBox.Show("填写数据库");
                return;
            }

            string 用户 = textBox3.Text;
            if (string.IsNullOrEmpty(用户))
            {
                MessageBox.Show("填写用户");
                return;
            }

            string 密码 = textBox4.Text;
            if (string.IsNullOrEmpty(密码))
            {
                MessageBox.Show("填写密码");
                return;
            }
            string 端口 = textBox5.Text;
            if (string.IsNullOrEmpty(端口))
            {
                MessageBox.Show("填写端口");
                return;
            }

            if (saveFileDialog1.ShowDialog()==DialogResult.OK)
            {
              
                try
                {
                    // 数据库连接字符串，需将占位符替换为实际的数据库信息
                    string connectionString = $"Server={ip};Database={数据库};Uid={用户};Pwd={密码};Port={端口};";
                    // 获取用户选择的备份文件路径
                    string backupFilePath = saveFileDialog1.FileName;

                    // 调用类库中的备份方法
                    await bfmysql.BackupDatabaseAsync(connectionString, backupFilePath);

                    // 备份成功，显示提示信息
                    MessageBox.Show("数据库备份成功！", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    // 备份失败，显示错误信息
                    MessageBox.Show($"备份过程中出现错误: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }



        }
    }
}
